package interfaz;

import dominio.*;
import integracion.*;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Diana Uribe
 */
public class cancelacionEvento extends javax.swing.JFrame {

    ControlProveedor controlProveedor;
    ControlFactura controlFactura;
    ControlCuota controlCuota;
    ControlOrdenCompra controlOrdenCompra;
    ControlPago controlPago;
    ControlRecibo controlRecibo;
    ControlEvento controlEvento;
    ControlCotizacion controlCotizacion;
    ControlEmpleado controlEmpleado;
    ControlClienteCompania controlClienteCompania;
    ControlClienteParticular controlClienteParticular;
    ControlUso controlUso;
    ControlInsumoInventario controlInsumoInventario;
    ControlInsumo controlInsumo;
    NuevaCotizacion NuevaCotizacion;
    private Component aviso;

    /** Creates new form cancelacionEvento */
    public cancelacionEvento() {
        initComponents();
        this.setLocation(210, 10);
        this.validarCampos();
        panelNotificacion.setVisible(false);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel2 = new javax.swing.JPanel();
        jPanel11 = new javax.swing.JPanel();
        mostrarPagoEventos = new javax.swing.JButton();
        idEventosSinPagar = new javax.swing.JComboBox();
        jLabel13 = new javax.swing.JLabel();
        jPanel12 = new javax.swing.JPanel();
        jLabel18 = new javax.swing.JLabel();
        tipoPagoCombo = new javax.swing.JComboBox();
        jPanel13 = new javax.swing.JPanel();
        jLabel21 = new javax.swing.JLabel();
        tipoTarjetaCombo = new javax.swing.JComboBox();
        jLabel22 = new javax.swing.JLabel();
        jLabel24 = new javax.swing.JLabel();
        jLabel25 = new javax.swing.JLabel();
        nombreBanco = new javax.swing.JTextField();
        jLabel26 = new javax.swing.JLabel();
        tipoCtaCombo = new javax.swing.JComboBox();
        codigoSeguridad = new javax.swing.JTextField();
        numeroTarjeta = new javax.swing.JTextField();
        limpiar7 = new javax.swing.JButton();
        jPanel14 = new javax.swing.JPanel();
        jLabel27 = new javax.swing.JLabel();
        jLabel28 = new javax.swing.JLabel();
        numeroCheque = new javax.swing.JTextField();
        nombreBancoCheque = new javax.swing.JTextField();
        limpiar10 = new javax.swing.JButton();
        jLabel43 = new javax.swing.JLabel();
        montoPago = new javax.swing.JLabel();
        jLabel19 = new javax.swing.JLabel();
        labelCancelado = new javax.swing.JLabel();
        jPanel37 = new javax.swing.JPanel();
        jLabel42 = new javax.swing.JLabel();
        fechaEven = new javax.swing.JLabel();
        horaFinLabel = new javax.swing.JLabel();
        jLabel38 = new javax.swing.JLabel();
        horaInicioLabel = new javax.swing.JLabel();
        jLabel35 = new javax.swing.JLabel();
        jLabel41 = new javax.swing.JLabel();
        numeroCuota = new javax.swing.JComboBox();
        jLabel46 = new javax.swing.JLabel();
        ejecutivoEncargadoPago = new javax.swing.JLabel();
        rifPagoLabel = new javax.swing.JLabel();
        rifPago = new javax.swing.JLabel();
        cedulaPago = new javax.swing.JLabel();
        nombrePago = new javax.swing.JLabel();
        nombrePagoLabel = new javax.swing.JLabel();
        cedulaPagoLabel = new javax.swing.JLabel();
        insertarPago = new javax.swing.JButton();
        panelNotificacion = new javax.swing.JPanel();
        jLabel113 = new javax.swing.JLabel();
        jLabel114 = new javax.swing.JLabel();
        jLabel118 = new javax.swing.JLabel();
        jLabel120 = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();
        archivo = new javax.swing.JMenu();
        nuevaCotizacion = new javax.swing.JMenuItem();
        informacionSistema = new javax.swing.JMenuItem();
        jSeparator1 = new javax.swing.JSeparator();
        exit = new javax.swing.JMenuItem();
        jMenu1 = new javax.swing.JMenu();
        acercaDe = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Pago de evento");

        jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
        jPanel11.setFont(new java.awt.Font("Microsoft Sans Serif", 0, 12));
        jPanel11.setPreferredSize(new java.awt.Dimension(810, 283));

        mostrarPagoEventos.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/search.png"))); // NOI18N
        mostrarPagoEventos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                mostrarPagoEventosActionPerformed(evt);
            }
        });

        idEventosSinPagar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                idEventosSinPagarActionPerformed(evt);
            }
        });

        jLabel13.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel13.setText("SELECCIONE EL EVENTO A PAGAR:");

        jPanel12.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Forma de Pago", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jLabel18.setText("Tipo Pago:");

        tipoPagoCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Cheque", "Tarjeta", "Efectivo" }));
        tipoPagoCombo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tipoPagoComboActionPerformed(evt);
            }
        });

        jPanel13.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Tarjeta", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11), new java.awt.Color(0, 0, 0))); // NOI18N

        jLabel21.setText("Tipo Tarjeta:");

        tipoTarjetaCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Crédito", "Débito" }));
        tipoTarjetaCombo.setEnabled(false);

        jLabel22.setText("Número Tarjeta:");

        jLabel24.setText("Código Seguridad:");

        jLabel25.setText("Banco:");

        nombreBanco.setEnabled(false);
        nombreBanco.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nombreBancoActionPerformed(evt);
            }
        });

        jLabel26.setText("Tipo Cuenta:");

        tipoCtaCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Corriente", "Ahorro" }));
        tipoCtaCombo.setEnabled(false);

        codigoSeguridad.setEnabled(false);

        numeroTarjeta.setEnabled(false);

        limpiar7.setText("Limpiar");
        limpiar7.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                limpiar7ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel13Layout = new javax.swing.GroupLayout(jPanel13);
        jPanel13.setLayout(jPanel13Layout);
        jPanel13Layout.setHorizontalGroup(
            jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel13Layout.createSequentialGroup()
                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel13Layout.createSequentialGroup()
                        .addGap(48, 48, 48)
                        .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel26)
                            .addComponent(jLabel21)
                            .addComponent(jLabel22)
                            .addComponent(jLabel24)
                            .addComponent(jLabel25))
                        .addGap(36, 36, 36)
                        .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(nombreBanco, javax.swing.GroupLayout.Alignment.TRAILING)
                                .addComponent(tipoCtaCombo, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(tipoTarjetaCombo, 0, 144, Short.MAX_VALUE)
                                .addComponent(numeroTarjeta, javax.swing.GroupLayout.DEFAULT_SIZE, 124, Short.MAX_VALUE))
                            .addComponent(codigoSeguridad, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel13Layout.createSequentialGroup()
                        .addContainerGap(251, Short.MAX_VALUE)
                        .addComponent(limpiar7)))
                .addContainerGap())
        );
        jPanel13Layout.setVerticalGroup(
            jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel13Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel21)
                    .addComponent(tipoTarjetaCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel26)
                    .addComponent(tipoCtaCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(nombreBanco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel25))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel22)
                    .addComponent(numeroTarjeta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(13, 13, 13)
                .addGroup(jPanel13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel24)
                    .addComponent(codigoSeguridad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(limpiar7)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel14.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Cheque", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11), new java.awt.Color(0, 0, 0))); // NOI18N

        jLabel27.setText("Banco:");

        jLabel28.setText("Número Cheque:");

        limpiar10.setText("Limpiar");
        limpiar10.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                limpiar10ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel14Layout = new javax.swing.GroupLayout(jPanel14);
        jPanel14.setLayout(jPanel14Layout);
        jPanel14Layout.setHorizontalGroup(
            jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel14Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel14Layout.createSequentialGroup()
                        .addComponent(jLabel27)
                        .addGap(52, 52, 52)
                        .addComponent(nombreBancoCheque))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel14Layout.createSequentialGroup()
                        .addComponent(jLabel28)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(numeroCheque, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel14Layout.createSequentialGroup()
                .addContainerGap(212, Short.MAX_VALUE)
                .addComponent(limpiar10)
                .addContainerGap())
        );
        jPanel14Layout.setVerticalGroup(
            jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel14Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel27)
                    .addComponent(nombreBancoCheque, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel14Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel28)
                    .addComponent(numeroCheque, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 12, Short.MAX_VALUE)
                .addComponent(limpiar10)
                .addContainerGap())
        );

        jLabel43.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabel43.setText("TOTAL A PAGAR Bs.F.:");

        montoPago.setFont(new java.awt.Font("Tahoma", 1, 14));
        montoPago.setForeground(new java.awt.Color(0, 153, 0));
        montoPago.setText("0.0");

        javax.swing.GroupLayout jPanel12Layout = new javax.swing.GroupLayout(jPanel12);
        jPanel12.setLayout(jPanel12Layout);
        jPanel12Layout.setHorizontalGroup(
            jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel12Layout.createSequentialGroup()
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel12Layout.createSequentialGroup()
                        .addContainerGap(47, Short.MAX_VALUE)
                        .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                    .addGroup(jPanel12Layout.createSequentialGroup()
                        .addGap(30, 30, 30)
                        .addComponent(jLabel18)
                        .addGap(18, 18, 18)
                        .addComponent(tipoPagoCombo, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(171, 171, 171)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 6, Short.MAX_VALUE)
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel12Layout.createSequentialGroup()
                        .addComponent(jLabel43)
                        .addGap(27, 27, 27)
                        .addComponent(montoPago))
                    .addComponent(jPanel14, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        jPanel12Layout.setVerticalGroup(
            jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel12Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel18)
                    .addComponent(tipoPagoCombo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel43)
                    .addComponent(montoPago))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel13, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jPanel14, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(16, 16, 16))
        );

        jLabel19.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/iconoTarjetas.PNG"))); // NOI18N
        jLabel19.setEnabled(false);

        labelCancelado.setFont(new java.awt.Font("Tahoma", 1, 20));
        labelCancelado.setForeground(new java.awt.Color(0, 204, 0));
        labelCancelado.setText("CANCELADO");
        labelCancelado.setEnabled(false);

        jPanel37.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Información General", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N

        jLabel42.setText("Fecha Evento:");

        fechaEven.setText("----/--/--");

        horaFinLabel.setText("00:00");

        jLabel38.setText("a");

        horaInicioLabel.setText("00:00");

        jLabel35.setText("Hora:");

        jLabel41.setText("Cuota a pagar:");

        numeroCuota.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                numeroCuotaActionPerformed(evt);
            }
        });

        jLabel46.setText("Ejecutivo Encargado:");

        ejecutivoEncargadoPago.setText("Ejecutivo Encargado");

        rifPagoLabel.setText("--");

        rifPago.setText("RIF:");

        cedulaPago.setText("C.I.:");

        nombrePago.setText("Nombre Cliente:");

        nombrePagoLabel.setText("Nombre Cliente");

        cedulaPagoLabel.setText("--");

        javax.swing.GroupLayout jPanel37Layout = new javax.swing.GroupLayout(jPanel37);
        jPanel37.setLayout(jPanel37Layout);
        jPanel37Layout.setHorizontalGroup(
            jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel37Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel37Layout.createSequentialGroup()
                        .addGroup(jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addGroup(jPanel37Layout.createSequentialGroup()
                                .addComponent(jLabel42)
                                .addGap(4, 4, 4))
                            .addGroup(jPanel37Layout.createSequentialGroup()
                                .addComponent(jLabel35)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(horaInicioLabel)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addGroup(jPanel37Layout.createSequentialGroup()
                                .addComponent(jLabel38)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(horaFinLabel))
                            .addComponent(fechaEven)))
                    .addGroup(jPanel37Layout.createSequentialGroup()
                        .addComponent(jLabel41)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(numeroCuota, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(37, 37, 37)
                .addGroup(jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel46)
                    .addComponent(rifPago)
                    .addComponent(cedulaPago)
                    .addComponent(nombrePago))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(nombrePagoLabel)
                    .addComponent(cedulaPagoLabel)
                    .addComponent(rifPagoLabel)
                    .addComponent(ejecutivoEncargadoPago))
                .addContainerGap(26, Short.MAX_VALUE))
        );
        jPanel37Layout.setVerticalGroup(
            jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel37Layout.createSequentialGroup()
                .addGroup(jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel42)
                    .addComponent(fechaEven)
                    .addComponent(nombrePago)
                    .addComponent(nombrePagoLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cedulaPago)
                    .addComponent(jLabel35)
                    .addComponent(horaFinLabel)
                    .addComponent(horaInicioLabel)
                    .addComponent(jLabel38)
                    .addComponent(cedulaPagoLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(rifPago)
                    .addComponent(rifPagoLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel37Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel46)
                    .addComponent(ejecutivoEncargadoPago)
                    .addComponent(jLabel41)
                    .addComponent(numeroCuota, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(15, Short.MAX_VALUE))
        );

        insertarPago.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/cashIconChiquitico.PNG"))); // NOI18N
        insertarPago.setText("Pagar");
        insertarPago.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                insertarPagoMouseClicked(evt);
            }
        });
        insertarPago.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                insertarPagoActionPerformed(evt);
            }
        });

        panelNotificacion.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "NOTA", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 11), new java.awt.Color(204, 0, 0))); // NOI18N

        jLabel113.setText("El monto a pagar aumentó en un 10%,");

        jLabel114.setText("del evento con respecto a la fecha de la");

        jLabel118.setText("cotización es superior a 30 días.");

        jLabel120.setText("debido a que la diferencia entre la fecha");

        javax.swing.GroupLayout panelNotificacionLayout = new javax.swing.GroupLayout(panelNotificacion);
        panelNotificacion.setLayout(panelNotificacionLayout);
        panelNotificacionLayout.setHorizontalGroup(
            panelNotificacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelNotificacionLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelNotificacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel118)
                    .addComponent(jLabel114, javax.swing.GroupLayout.DEFAULT_SIZE, 193, Short.MAX_VALUE)
                    .addGroup(panelNotificacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(jLabel113, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jLabel120)))
                .addContainerGap())
        );
        panelNotificacionLayout.setVerticalGroup(
            panelNotificacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelNotificacionLayout.createSequentialGroup()
                .addComponent(jLabel113)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jLabel120)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel114)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel118)
                .addGap(21, 21, 21))
        );

        javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11);
        jPanel11.setLayout(jPanel11Layout);
        jPanel11Layout.setHorizontalGroup(
            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel11Layout.createSequentialGroup()
                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel11Layout.createSequentialGroup()
                        .addContainerGap(673, Short.MAX_VALUE)
                        .addComponent(insertarPago))
                    .addGroup(jPanel11Layout.createSequentialGroup()
                        .addGap(42, 42, 42)
                        .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel11Layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(jPanel11Layout.createSequentialGroup()
                                .addComponent(jLabel13)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(idEventosSinPagar, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(mostrarPagoEventos))
                            .addComponent(jPanel37, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel11Layout.createSequentialGroup()
                                .addGap(10, 10, 10)
                                .addComponent(panelNotificacion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(7, 7, 7))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel11Layout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 188, Short.MAX_VALUE)
                                .addComponent(jLabel19))))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel11Layout.createSequentialGroup()
                        .addContainerGap(644, Short.MAX_VALUE)
                        .addComponent(labelCancelado)))
                .addContainerGap())
        );
        jPanel11Layout.setVerticalGroup(
            jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel11Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel13)
                        .addComponent(idEventosSinPagar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(mostrarPagoEventos, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jLabel19))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(labelCancelado)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel37, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(panelNotificacion, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel12, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(23, 23, 23)
                .addComponent(insertarPago)
                .addContainerGap())
        );

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel11, javax.swing.GroupLayout.PREFERRED_SIZE, 792, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(49, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, 602, Short.MAX_VALUE)
                .addContainerGap())
        );

        archivo.setText("Archivo");

        nuevaCotizacion.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK));
        nuevaCotizacion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/add.png"))); // NOI18N
        nuevaCotizacion.setText("Nueva Cotizacion...");
        nuevaCotizacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nuevaCotizacionActionPerformed(evt);
            }
        });
        archivo.add(nuevaCotizacion);

        informacionSistema.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK));
        informacionSistema.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/database.png"))); // NOI18N
        informacionSistema.setText("Informacion del Sistema...");
        informacionSistema.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                informacionSistemaActionPerformed(evt);
            }
        });
        archivo.add(informacionSistema);
        archivo.add(jSeparator1);

        exit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.CTRL_MASK));
        exit.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/exit.png"))); // NOI18N
        exit.setText("Salir");
        exit.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                exitActionPerformed(evt);
            }
        });
        archivo.add(exit);

        jMenuBar1.add(archivo);

        jMenu1.setText("Ayuda");

        acercaDe.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK));
        acercaDe.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/info.png"))); // NOI18N
        acercaDe.setText("Acerca de MDJ");
        acercaDe.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                acercaDeActionPerformed(evt);
            }
        });
        jMenu1.add(acercaDe);

        jMenuBar1.add(jMenu1);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 851, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(0, 0, Short.MAX_VALUE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(0, 0, Short.MAX_VALUE)))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 624, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(0, 0, Short.MAX_VALUE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(0, 0, Short.MAX_VALUE)))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void mostrarPagoEventosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mostrarPagoEventosActionPerformed
        panelNotificacion.setVisible(false);
        this.cargarIdEventosSinPagar();
}//GEN-LAST:event_mostrarPagoEventosActionPerformed

    private void idEventosSinPagarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_idEventosSinPagarActionPerformed
        try {
            controlEvento = new ControlEvento();
            List<Evento> eventos = controlEvento.consultarEventosSinPagar();
            this.asignarLabelEventosSinPagar(eventos);
            this.cargarCuota(eventos);
        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
}//GEN-LAST:event_idEventosSinPagarActionPerformed

    private void tipoPagoComboActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tipoPagoComboActionPerformed
        if (tipoPagoCombo.getSelectedItem().toString().equals("Cheque")) {
            tipoCtaCombo.setEnabled(false);
            tipoTarjetaCombo.setEnabled(false);
            nombreBanco.setEnabled(false);
            numeroTarjeta.setEnabled(false);
            codigoSeguridad.setEnabled(false);
            nombreBancoCheque.setEnabled(true);
            numeroCheque.setEnabled(true);
        }
        if (tipoPagoCombo.getSelectedItem().toString().equals("Efectivo")) {
            tipoCtaCombo.setEnabled(false);
            tipoTarjetaCombo.setEnabled(false);
            nombreBanco.setEnabled(false);
            numeroTarjeta.setEnabled(false);
            codigoSeguridad.setEnabled(false);
            nombreBancoCheque.setEnabled(false);
            numeroCheque.setEnabled(false);
        }
        if (tipoPagoCombo.getSelectedItem().toString().equals("Tarjeta")) {
            tipoTarjetaCombo.setEnabled(true);
            nombreBanco.setEnabled(true);
            numeroTarjeta.setEnabled(true);
            codigoSeguridad.setEnabled(true);
            nombreBancoCheque.setEnabled(false);
            numeroCheque.setEnabled(false);

            tipoTarjetaCombo.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent evt) {
                    if (tipoTarjetaCombo.getSelectedItem().toString().equals("Crédito")) {
                        tipoCtaCombo.setEnabled(false);
                        tipoTarjetaCombo.setEnabled(true);
                        nombreBanco.setEnabled(true);
                        numeroTarjeta.setEnabled(true);
                        codigoSeguridad.setEnabled(true);
                        nombreBancoCheque.setEnabled(false);
                        numeroCheque.setEnabled(false);
                    }
                    if (tipoTarjetaCombo.getSelectedItem().toString().equals("Débito")) {
                        tipoCtaCombo.setEnabled(true);
                        tipoTarjetaCombo.setEnabled(true);
                        nombreBanco.setEnabled(true);
                        numeroTarjeta.setEnabled(true);
                        codigoSeguridad.setEnabled(true);
                        nombreBancoCheque.setEnabled(false);
                        numeroCheque.setEnabled(false);
                    }

                }
            });

        }
}//GEN-LAST:event_tipoPagoComboActionPerformed

    private void nombreBancoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nombreBancoActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_nombreBancoActionPerformed

    private void limpiar7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_limpiar7ActionPerformed
        nombreBanco.setText("");
        numeroTarjeta.setText("");
        codigoSeguridad.setText("");
}//GEN-LAST:event_limpiar7ActionPerformed

    private void limpiar10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_limpiar10ActionPerformed
        nombreBancoCheque.setText("");
        numeroCheque.setText("");
}//GEN-LAST:event_limpiar10ActionPerformed

    private void numeroCuotaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_numeroCuotaActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_numeroCuotaActionPerformed

    private void insertarPagoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_insertarPagoMouseClicked
        nombreBanco.setText("");
        numeroTarjeta.setText("");
        codigoSeguridad.setText("");
        nombreBancoCheque.setText("");
        numeroCheque.setText("");
}//GEN-LAST:event_insertarPagoMouseClicked

    private void insertarPagoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_insertarPagoActionPerformed
        Integer id = 0;
        try {
            controlCuota = new ControlCuota();
            controlPago = new ControlPago();
            List<Pago> pagos = controlPago.consultarPagoSinPagar();
            controlEvento = new ControlEvento();
            List<Evento> eventosSinCuotas = controlEvento.consultarEventosSinCuotas();
            List<Evento> eventos = controlEvento.consultarEventosSinPagar();
            controlFactura = new ControlFactura();
            controlCotizacion = new ControlCotizacion();
            List<Cotizacion> cotizaciones = controlCotizacion.consultarCotizaciones();
            controlCuota = new ControlCuota();
            List<Cuota> cuotas = controlCuota.consultarCuota();

            String numCuota = "";
            Double montoFactura = 0.0;
            Double montoPrimeraCuota = 0.0;
            boolean result = false;


            if (idEventosSinPagar.getItemCount() != 0) {
                String idTmp[] = idEventosSinPagar.getSelectedItem().toString().split(", ");
                id = Integer.parseInt(idTmp[0]);
                for (int i = 0; i < eventos.size(); i++) {
                    if (eventos.get(i).getIdEvento().equals(id)) {
                        if (tipoPagoCombo.getSelectedItem().toString().equals("Cheque")) {

                            if ((nombreBancoCheque.getText().equals("")) || (numeroCheque.getText().equals(""))) {
                                JOptionPane.showMessageDialog(aviso, "Debe llenar todos los campos de Cheque", "Warning", 1);
                            } else {
                                String numCheque = numeroCheque.getText();
                                String bancoCheque = nombreBancoCheque.getText();
                                String tipoPago = tipoPagoCombo.getSelectedItem().toString();
                                double montoTotal = Double.parseDouble(montoPago.getText());
                                String tipoTarjeta = "";
                                String numTarjeta = "";
                                String codSeguridad = "";
                                String bankTarjeta = "";
                                String tipoCtaDebito = "";
                                Integer cotizaIdCotiza = eventos.get(i).getIdEvento();
                                Integer cotizaEventoIdEvento = eventos.get(i).getIdEvento();

                                Integer cuotaFlag = 0;
                                if (numeroCuota.getSelectedItem().toString().equals("1")) {
                                    cuotaFlag = 1;
                                    Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, bankTarjeta, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, null, null);
                                    result = controlPago.agregarPago(pago);

                                    List<Pago> pagoAgregado = controlPago.consultarPago();
                                    Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                    numCuota = numeroCuota.getSelectedItem().toString();
                                    Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                    controlCuota.agregarCuota(cuota);
                                }
                                if (numeroCuota.getSelectedItem().toString().equals("2")) {
                                    cuotaFlag = 2;
                                    Double montoTmp = 0.0;
                                    Factura fac = new Factura(eventos.get(i).getDescripcion(), montoTmp, eventos.get(i).getFecha());
                                    controlFactura.agregarFactura(fac);

                                    List<Factura> Ultimafactura = controlFactura.consultarFactura();
                                    Integer ultimaFactura = Ultimafactura.get(Ultimafactura.size() - 1).getIdFactura();

                                    montoTotal = aumentoMontoSegundaCuotaEventosSinPagar(id, montoTotal);

                                    Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, bankTarjeta, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, ultimaFactura, null);
                                    result = controlPago.agregarPago(pago);

                                    List<Pago> pagoAgregado = controlPago.consultarPago();
                                    Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                    numCuota = numeroCuota.getSelectedItem().toString();
                                    Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                    controlCuota.agregarCuota(cuota);

                                    List<Cuota> cuotaAgregada = controlCuota.consultarCuota();
                                    if (cuotaAgregada.get(cuotaAgregada.size() - 1).getPagoIdpago().equals(pagoAgregado.get(pagoAgregado.size() - 1).getIdPago())) {
                                        if (cuotaAgregada.get(cuotaAgregada.size() - 1).getCuota().equals("2")) {
                                            for (int m = 0; m < eventos.size(); m++) {
                                                if (eventos.get(m).getIdEvento().equals(id)) {
                                                    for (int j = 0; j < cotizaciones.size(); j++) {
                                                        if (eventos.get(m).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                                                            for (int z = 0; z < pagos.size(); z++) {
                                                                if (cotizaciones.get(j).getEventoIdEvento().equals(pagos.get(z).getCotizacionEventoIdEvento())) {
                                                                    for (int u = 0; u < cuotas.size(); u++) {
                                                                        if (pagos.get(z).getIdPago().equals(cuotas.get(u).getPagoIdpago())) {
                                                                            if (cuotas.get(u).getCuota().equals("1")) {
                                                                                montoPrimeraCuota = pagos.get(z).getMonto();
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                            montoFactura = montoTotal + montoPrimeraCuota;
                                            List<Factura> facturas = controlFactura.consultarFactura();
                                            for (Iterator iter2 = facturas.iterator(); iter2.hasNext();) {
                                                Factura fact = (Factura) iter2.next();
                                                if (fact.getIdFactura().equals(pagoAgregado.get(pagoAgregado.size() - 1).getFacturaIdFactura())) {
                                                    fact.setMonto(montoFactura);
                                                }
                                                controlFactura.modificarFactura(fact);
                                            }
                                        }//FIN SEGUNDO IF COMPARACION
                                    }//FIN PRIMER IF COMPARACION
                                }
                                if (result) {
                                    labelCancelado.setEnabled(true);
                                    JOptionPane.showMessageDialog(null, "El pago ha sido agregado con Exito", "Resultado", JOptionPane.INFORMATION_MESSAGE);
                                    nombreBancoCheque.setText("");
                                    numeroCheque.setText("");
                                    labelCancelado.setEnabled(false);
                                    if (cuotaFlag == 2) {
                                        generarFactura ce = new generarFactura(id);
                                        ce.setVisible(true);
                                        this.setVisible(false);
                                    }
                                    montoPago.setText("0.0");
                                    this.cargarIdEventosSinPagar();
                                    this.cargarCuota(eventos);

                                } else {
                                    JOptionPane.showMessageDialog(null, "Error: El pago no pudo ser agregado", "Resultado", JOptionPane.ERROR_MESSAGE);
                                }
                            }//FINAL DEL ELSE DE SI LLENO LOS DATOS DEL CHEQUE
                        } else {
                            if (tipoPagoCombo.getSelectedItem().toString().equals("Tarjeta")) {
                                if ((nombreBanco.getText().equals("")) || (numeroTarjeta.getText().equals("")) || (codigoSeguridad.getText().equals(""))) {
                                    JOptionPane.showMessageDialog(aviso, "Debe llenar todos los campos de Tarjeta", "Warning", 1);
                                } else {
                                    String tipoTarjeta = tipoTarjetaCombo.getSelectedItem().toString();
                                    if (tipoTarjeta.equals("Crédito")) {
                                        String tipoPago = tipoPagoCombo.getSelectedItem().toString();
                                        String nomBanco = nombreBanco.getText();
                                        double montoTotal = Double.parseDouble(montoPago.getText());
                                        String numTarjeta = numeroTarjeta.getText();
                                        String codSeguridad = codigoSeguridad.getText();
                                        String tipoCtaDebito = "";
                                        Integer cotizaIdCotiza = eventos.get(i).getIdEvento();
                                        Integer cotizaEventoIdEvento = eventos.get(i).getIdEvento();
                                        String bancoCheque = "";
                                        String numCheque = "";

                                        Integer cuotaFlag = 0;
                                        if (numeroCuota.getSelectedItem().toString().equals("1")) {
                                            cuotaFlag = 1;
                                            Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, nomBanco, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, null, null);
                                            result = controlPago.agregarPago(pago);

                                            List<Pago> pagoAgregado = controlPago.consultarPago();
                                            Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                            numCuota = numeroCuota.getSelectedItem().toString();
                                            Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                            controlCuota.agregarCuota(cuota);
                                        }
                                        if (numeroCuota.getSelectedItem().toString().equals("2")) {
                                            cuotaFlag = 2;
                                            Double montoTmp = 0.0;
                                            Factura fac = new Factura(eventos.get(i).getDescripcion(), montoTmp, eventos.get(i).getFecha());
                                            controlFactura.agregarFactura(fac);

                                            List<Factura> Ultimafactura = controlFactura.consultarFactura();
                                            Integer ultimaFactura = Ultimafactura.get(Ultimafactura.size() - 1).getIdFactura();

                                            montoTotal = aumentoMontoSegundaCuotaEventosSinPagar(id, montoTotal);

                                            Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, nomBanco, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, ultimaFactura, null);
                                            result = controlPago.agregarPago(pago);

                                            List<Pago> pagoAgregado = controlPago.consultarPago();
                                            Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                            numCuota = numeroCuota.getSelectedItem().toString();
                                            Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                            controlCuota.agregarCuota(cuota);

                                            List<Cuota> cuotaAgregada = controlCuota.consultarCuota();
                                            if (cuotaAgregada.get(cuotaAgregada.size() - 1).getPagoIdpago().equals(pagoAgregado.get(pagoAgregado.size() - 1).getIdPago())) {
                                                if (cuotaAgregada.get(cuotaAgregada.size() - 1).getCuota().equals("2")) {
                                                    for (int m = 0; m < eventos.size(); m++) {
                                                        if (eventos.get(m).getIdEvento().equals(id)) {
                                                            for (int j = 0; j < cotizaciones.size(); j++) {
                                                                if (eventos.get(m).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                                                                    for (int z = 0; z < pagos.size(); z++) {
                                                                        if (cotizaciones.get(j).getEventoIdEvento().equals(pagos.get(z).getCotizacionEventoIdEvento())) {
                                                                            for (int u = 0; u < cuotas.size(); u++) {
                                                                                if (pagos.get(z).getIdPago().equals(cuotas.get(u).getPagoIdpago())) {
                                                                                    if (cuotas.get(u).getCuota().equals("1")) {
                                                                                        montoPrimeraCuota = pagos.get(z).getMonto();
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                    montoFactura = montoTotal + montoPrimeraCuota;
                                                    List<Factura> facturas = controlFactura.consultarFactura();
                                                    for (Iterator iter2 = facturas.iterator(); iter2.hasNext();) {
                                                        Factura fact = (Factura) iter2.next();
                                                        if (fact.getIdFactura().equals(pagoAgregado.get(pagoAgregado.size() - 1).getFacturaIdFactura())) {
                                                            fact.setMonto(montoFactura);
                                                        }
                                                        controlFactura.modificarFactura(fact);
                                                    }
                                                }//FIN SEGUNDO IF COMPARACION
                                            }//FIN PRIMER IF COMPARACION
                                        }
                                        if (result) {
                                            labelCancelado.setEnabled(true);
                                            JOptionPane.showMessageDialog(null, "El pago ha sido agregado con Exito", "Resultado", JOptionPane.INFORMATION_MESSAGE);
                                            nombreBanco.setText("");
                                            numeroTarjeta.setText("");
                                            codigoSeguridad.setText("");
                                            labelCancelado.setEnabled(false);
                                            if (cuotaFlag == 2) {
                                                generarFactura ce = new generarFactura(id);
                                                ce.setVisible(true);
                                                this.setVisible(false);
                                            }
                                            montoPago.setText("0.0");
                                            this.cargarIdEventosSinPagar();
                                            this.cargarCuota(eventos);
                                        } else {
                                            JOptionPane.showMessageDialog(null, "Error: El pago no pudo ser agregado", "Resultado", JOptionPane.ERROR_MESSAGE);
                                        }
                                    } else {
                                        String tipoTarjetaDebito = tipoTarjetaCombo.getSelectedItem().toString();
                                        if (tipoTarjetaDebito.equals("Débito")) {
                                            String tipoPago = tipoPagoCombo.getSelectedItem().toString();
                                            String nomBanco = nombreBanco.getText();
                                            double montoTotal = Double.parseDouble(montoPago.getText());
                                            String numTarjeta = numeroTarjeta.getText();
                                            String codSeguridad = codigoSeguridad.getText();
                                            String tipoCtaDebito = tipoCtaCombo.getSelectedItem().toString();
                                            Integer cotizaIdCotiza = eventos.get(i).getIdEvento();
                                            Integer cotizaEventoIdEvento = eventos.get(i).getIdEvento();
                                            String bancoCheque = "";
                                            String numCheque = "";

                                            Integer cuotaFlag = 0;
                                            if (numeroCuota.getSelectedItem().toString().equals("1")) {
                                                cuotaFlag = 1;
                                                Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, nomBanco, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, null, null);
                                                result = controlPago.agregarPago(pago);

                                                List<Pago> pagoAgregado = controlPago.consultarPago();
                                                Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                                numCuota = numeroCuota.getSelectedItem().toString();
                                                Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                                controlCuota.agregarCuota(cuota);
                                            }
                                            if (numeroCuota.getSelectedItem().toString().equals("2")) {
                                                cuotaFlag = 2;
                                                Double montoTmp = 0.0;
                                                Factura fac = new Factura(eventos.get(i).getDescripcion(), montoTmp, eventos.get(i).getFecha());
                                                controlFactura.agregarFactura(fac);

                                                List<Factura> Ultimafactura = controlFactura.consultarFactura();
                                                Integer ultimaFactura = Ultimafactura.get(Ultimafactura.size() - 1).getIdFactura();

                                                montoTotal = aumentoMontoSegundaCuotaEventosSinPagar(id, montoTotal);

                                                Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, nomBanco, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, ultimaFactura, null);
                                                result = controlPago.agregarPago(pago);

                                                List<Pago> pagoAgregado = controlPago.consultarPago();
                                                Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                                numCuota = numeroCuota.getSelectedItem().toString();
                                                Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                                controlCuota.agregarCuota(cuota);

                                                List<Cuota> cuotaAgregada = controlCuota.consultarCuota();
                                                if (cuotaAgregada.get(cuotaAgregada.size() - 1).getPagoIdpago().equals(pagoAgregado.get(pagoAgregado.size() - 1).getIdPago())) {
                                                    if (cuotaAgregada.get(cuotaAgregada.size() - 1).getCuota().equals("2")) {
                                                        for (int m = 0; m < eventos.size(); m++) {
                                                            if (eventos.get(m).getIdEvento().equals(id)) {
                                                                for (int j = 0; j < cotizaciones.size(); j++) {
                                                                    if (eventos.get(m).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                                                                        for (int z = 0; z < pagos.size(); z++) {
                                                                            if (cotizaciones.get(j).getEventoIdEvento().equals(pagos.get(z).getCotizacionEventoIdEvento())) {
                                                                                for (int u = 0; u < cuotas.size(); u++) {
                                                                                    if (pagos.get(z).getIdPago().equals(cuotas.get(u).getPagoIdpago())) {
                                                                                        if (cuotas.get(u).getCuota().equals("1")) {
                                                                                            montoPrimeraCuota = pagos.get(z).getMonto();
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                        montoFactura = montoTotal + montoPrimeraCuota;
                                                        List<Factura> facturas = controlFactura.consultarFactura();
                                                        for (Iterator iter2 = facturas.iterator(); iter2.hasNext();) {
                                                            Factura fact = (Factura) iter2.next();
                                                            if (fact.getIdFactura().equals(pagoAgregado.get(pagoAgregado.size() - 1).getFacturaIdFactura())) {
                                                                fact.setMonto(montoFactura);
                                                            }
                                                            controlFactura.modificarFactura(fact);
                                                        }
                                                    }//FIN SEGUNDO IF COMPARACION
                                                }//FIN PRIMER IF COMPARACION
                                            }
                                            if (result) {
                                                labelCancelado.setEnabled(true);
                                                JOptionPane.showMessageDialog(null, "El pago ha sido agregado con Exito", "Resultado", JOptionPane.INFORMATION_MESSAGE);
                                                nombreBanco.setText("");
                                                numeroTarjeta.setText("");
                                                codigoSeguridad.setText("");
                                                labelCancelado.setEnabled(false);
                                                if (cuotaFlag == 2) {
                                                    generarFactura ce = new generarFactura(id);
                                                    ce.setVisible(true);
                                                    this.setVisible(false);
                                                }
                                                montoPago.setText("0.0");
                                                this.cargarIdEventosSinPagar();
                                                this.cargarCuota(eventos);
                                            } else {
                                                JOptionPane.showMessageDialog(null, "Error: El pago no pudo ser agregado", "Resultado", JOptionPane.ERROR_MESSAGE);
                                            }
                                        }//FIN DEL IF DE LA CONDICION DE DEBITO
                                    }
                                }//FINAL DEL ELSE DE SI LLENO LOS DATOS DE LA TARJETA
                            } else {//FINAL TARJETA
                                if (tipoPagoCombo.getSelectedItem().toString().equals("Efectivo")) {
                                    String numCheque = "";
                                    String bancoCheque = "";
                                    String tipoPago = tipoPagoCombo.getSelectedItem().toString();
                                    double montoTotal = Double.parseDouble(montoPago.getText());
                                    String tipoTarjeta = "";
                                    String numTarjeta = "";
                                    String codSeguridad = "";
                                    String bankTarjeta = "";
                                    String tipoCtaDebito = "";
                                    Integer cotizaIdCotiza = eventos.get(i).getIdEvento();
                                    Integer cotizaEventoIdEvento = eventos.get(i).getIdEvento();

                                    Integer cuotaFlag = 0;
                                    if (numeroCuota.getSelectedItem().toString().equals("1")) {
                                        cuotaFlag = 1;
                                        Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, bankTarjeta, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, null, null);
                                        result = controlPago.agregarPago(pago);

                                        List<Pago> pagoAgregado = controlPago.consultarPago();
                                        Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                        numCuota = numeroCuota.getSelectedItem().toString();
                                        Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                        controlCuota.agregarCuota(cuota);
                                    }

                                    if (numeroCuota.getSelectedItem().toString().equals("2")) {
                                        cuotaFlag = 2;
                                        Double montoTmp = 0.0;
                                        Factura fac = new Factura(eventos.get(i).getDescripcion(), montoTmp, eventos.get(i).getFecha());
                                        controlFactura.agregarFactura(fac);

                                        List<Factura> Ultimafactura = controlFactura.consultarFactura();
                                        Integer ultimaFactura = Ultimafactura.get(Ultimafactura.size() - 1).getIdFactura();

                                        montoTotal = aumentoMontoSegundaCuotaEventosSinPagar(id, montoTotal);

                                        Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, bankTarjeta, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, ultimaFactura, null);
                                        result = controlPago.agregarPago(pago);

                                        List<Pago> pagoAgregado = controlPago.consultarPago();
                                        Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                        numCuota = numeroCuota.getSelectedItem().toString();
                                        Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                        controlCuota.agregarCuota(cuota);

                                        List<Cuota> cuotaAgregada = controlCuota.consultarCuota();
                                        if (cuotaAgregada.get(cuotaAgregada.size() - 1).getPagoIdpago().equals(pagoAgregado.get(pagoAgregado.size() - 1).getIdPago())) {
                                            if (cuotaAgregada.get(cuotaAgregada.size() - 1).getCuota().equals("2")) {
                                                for (int m = 0; m < eventos.size(); m++) {
                                                    if (eventos.get(m).getIdEvento().equals(id)) {
                                                        for (int j = 0; j < cotizaciones.size(); j++) {
                                                            if (eventos.get(m).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                                                                for (int z = 0; z < pagos.size(); z++) {
                                                                    if (cotizaciones.get(j).getEventoIdEvento().equals(pagos.get(z).getCotizacionEventoIdEvento())) {
                                                                        for (int u = 0; u < cuotas.size(); u++) {
                                                                            if (pagos.get(z).getIdPago().equals(cuotas.get(u).getPagoIdpago())) {
                                                                                if (cuotas.get(u).getCuota().equals("1")) {
                                                                                    montoPrimeraCuota = pagos.get(z).getMonto();
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                                montoFactura = montoTotal + montoPrimeraCuota;
                                                List<Factura> facturas = controlFactura.consultarFactura();
                                                for (Iterator iter2 = facturas.iterator(); iter2.hasNext();) {
                                                    Factura fact = (Factura) iter2.next();
                                                    if (fact.getIdFactura().equals(pagoAgregado.get(pagoAgregado.size() - 1).getFacturaIdFactura())) {
                                                        fact.setMonto(montoFactura);
                                                    }
                                                    controlFactura.modificarFactura(fact);
                                                }
                                            }//FIN SEGUNDO IF COMPARACION
                                        }//FIN PRIMER IF COMPARACION
                                    }
                                    if (result) {
                                        labelCancelado.setEnabled(true);
                                        JOptionPane.showMessageDialog(null, "El pago ha sido agregado con Exito", "Resultado", JOptionPane.INFORMATION_MESSAGE);
                                        labelCancelado.setEnabled(false);
                                        if (cuotaFlag == 2) {
                                            generarFactura ce = new generarFactura(id);
                                            ce.setVisible(true);
                                            this.setVisible(false);
                                        }
                                        montoPago.setText("0.0");
                                        this.cargarIdEventosSinPagar();
                                        this.cargarCuota(eventos);
                                    } else {
                                        JOptionPane.showMessageDialog(null, "Error: El pago no pudo ser agregado", "Resultado", JOptionPane.ERROR_MESSAGE);
                                    }
                                }
                            }//FIN ELSE EFECTIVO
                        }
                    }
                }//CIERRA FOR GIGANTE EVENTOS NORMAL
                for (int w = 0; w < eventosSinCuotas.size(); w++) {
                    if (eventosSinCuotas.get(w).getIdEvento().equals(id)) {
                        if (tipoPagoCombo.getSelectedItem().toString().equals("Cheque")) {
                            if ((nombreBancoCheque.getText().equals("")) || (numeroCheque.getText().equals(""))) {
                                JOptionPane.showMessageDialog(aviso, "Debe llenar todos los campos de Cheque", "Warning", 1);
                            } else {
                                String numCheque = numeroCheque.getText();
                                String bancoCheque = nombreBancoCheque.getText();
                                String tipoPago = tipoPagoCombo.getSelectedItem().toString();
                                double montoTotal = Double.parseDouble(montoPago.getText());
                                String tipoTarjeta = "";
                                String numTarjeta = "";
                                String codSeguridad = "";
                                String bankTarjeta = "";
                                String tipoCtaDebito = "";
                                Integer cotizaIdCotiza = eventosSinCuotas.get(w).getIdEvento();
                                Integer cotizaEventoIdEvento = eventosSinCuotas.get(w).getIdEvento();

                                Integer cuotaFlag = 0;
                                if (numeroCuota.getSelectedItem().toString().equals("1")) {
                                    cuotaFlag = 1;
                                    Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, bankTarjeta, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, null, null);
                                    result = controlPago.agregarPago(pago);

                                    List<Pago> pagoAgregado = controlPago.consultarPago();
                                    Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                    numCuota = numeroCuota.getSelectedItem().toString();
                                    Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                    controlCuota.agregarCuota(cuota);
                                }

                                if (numeroCuota.getSelectedItem().toString().equals("2")) {
                                    cuotaFlag = 2;
                                    Double montoTmp = 0.0;
                                    Factura fac = new Factura(eventosSinCuotas.get(w).getDescripcion(), montoTmp, eventosSinCuotas.get(w).getFecha());
                                    controlFactura.agregarFactura(fac);

                                    List<Factura> Ultimafactura = controlFactura.consultarFactura();
                                    Integer ultimaFactura = Ultimafactura.get(Ultimafactura.size() - 1).getIdFactura();

                                    montoTotal = aumentoMontoSegundaCuotaEventosSinCuotas(id, montoTotal);

                                    Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, bankTarjeta, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, ultimaFactura, null);
                                    result = controlPago.agregarPago(pago);

                                    List<Pago> pagoAgregado = controlPago.consultarPago();
                                    Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                    numCuota = numeroCuota.getSelectedItem().toString();
                                    Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                    controlCuota.agregarCuota(cuota);

                                    List<Cuota> cuotaAgregada = controlCuota.consultarCuota();
                                    if (cuotaAgregada.get(cuotaAgregada.size() - 1).getPagoIdpago().equals(pagoAgregado.get(pagoAgregado.size() - 1).getIdPago())) {
                                        if (cuotaAgregada.get(cuotaAgregada.size() - 1).getCuota().equals("2")) {
                                            for (int m = 0; m < eventos.size(); m++) {
                                                if (eventos.get(m).getIdEvento().equals(id)) {
                                                    for (int j = 0; j < cotizaciones.size(); j++) {
                                                        if (eventos.get(m).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                                                            for (int z = 0; z < pagos.size(); z++) {
                                                                if (cotizaciones.get(j).getEventoIdEvento().equals(pagos.get(z).getCotizacionEventoIdEvento())) {
                                                                    for (int u = 0; u < cuotas.size(); u++) {
                                                                        if (pagos.get(z).getIdPago().equals(cuotas.get(u).getPagoIdpago())) {
                                                                            if (cuotas.get(u).getCuota().equals("1")) {
                                                                                montoPrimeraCuota = pagos.get(z).getMonto();
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                            montoFactura = montoTotal + montoPrimeraCuota;
                                            List<Factura> facturas = controlFactura.consultarFactura();
                                            for (Iterator iter2 = facturas.iterator(); iter2.hasNext();) {
                                                Factura fact = (Factura) iter2.next();
                                                if (fact.getIdFactura().equals(pagoAgregado.get(pagoAgregado.size() - 1).getFacturaIdFactura())) {
                                                    fact.setMonto(montoFactura);
                                                }
                                                controlFactura.modificarFactura(fact);
                                            }
                                        }//FIN SEGUNDO IF COMPARACION
                                    }//FIN PRIMER IF COMPARACION
                                }
                                if (result) {
                                    labelCancelado.setEnabled(true);
                                    JOptionPane.showMessageDialog(null, "El pago ha sido agregado con Exito", "Resultado", JOptionPane.INFORMATION_MESSAGE);
                                    nombreBancoCheque.setText("");
                                    numeroCheque.setText("");
                                    labelCancelado.setEnabled(false);
                                    if (cuotaFlag == 2) {
                                        generarFactura ce = new generarFactura(id);
                                        ce.setVisible(true);
                                        this.setVisible(false);
                                    }
                                    montoPago.setText("0.0");
                                    this.cargarIdEventosSinPagar();
                                    this.cargarCuota(eventos);
                                } else {
                                    JOptionPane.showMessageDialog(null, "Error: El pago no pudo ser agregado", "Resultado", JOptionPane.ERROR_MESSAGE);
                                }
                            }//FINAL DEL ELSE DE SI LLENO LOS DATOS DEL CHEQUE
                        } else {
                            if (tipoPagoCombo.getSelectedItem().toString().equals("Tarjeta")) {
                                if ((nombreBanco.getText().equals("")) || (numeroTarjeta.getText().equals("")) || (codigoSeguridad.getText().equals(""))) {
                                    JOptionPane.showMessageDialog(aviso, "Debe llenar todos los campos de Tarjeta", "Warning", 1);
                                } else {
                                    String tipoTarjeta = tipoTarjetaCombo.getSelectedItem().toString();
                                    if (tipoTarjeta.equals("Crédito")) {
                                        String tipoPago = tipoPagoCombo.getSelectedItem().toString();
                                        String nomBanco = nombreBanco.getText();
                                        double montoTotal = Double.parseDouble(montoPago.getText());
                                        String numTarjeta = numeroTarjeta.getText();
                                        String codSeguridad = codigoSeguridad.getText();
                                        String tipoCtaDebito = "";
                                        Integer cotizaIdCotiza = eventosSinCuotas.get(w).getIdEvento();
                                        Integer cotizaEventoIdEvento = eventosSinCuotas.get(w).getIdEvento();
                                        String bancoCheque = "";
                                        String numCheque = "";

                                        Integer cuotaFlag = 0;
                                        if (numeroCuota.getSelectedItem().toString().equals("1")) {
                                            cuotaFlag = 1;
                                            Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, nomBanco, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, null, null);
                                            result = controlPago.agregarPago(pago);

                                            List<Pago> pagoAgregado = controlPago.consultarPago();
                                            Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                            numCuota = numeroCuota.getSelectedItem().toString();
                                            Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                            controlCuota.agregarCuota(cuota);
                                        }

                                        if (numeroCuota.getSelectedItem().toString().equals("2")) {
                                            cuotaFlag = 2;
                                            Double montoTmp = 0.0;
                                            Factura fac = new Factura(eventosSinCuotas.get(w).getDescripcion(), montoTmp, eventosSinCuotas.get(w).getFecha());
                                            controlFactura.agregarFactura(fac);

                                            List<Factura> Ultimafactura = controlFactura.consultarFactura();
                                            Integer ultimaFactura = Ultimafactura.get(Ultimafactura.size() - 1).getIdFactura();

                                            montoTotal = aumentoMontoSegundaCuotaEventosSinCuotas(id, montoTotal);

                                            Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, nomBanco, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, ultimaFactura, null);
                                            result = controlPago.agregarPago(pago);

                                            List<Pago> pagoAgregado = controlPago.consultarPago();
                                            Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                            numCuota = numeroCuota.getSelectedItem().toString();
                                            Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                            controlCuota.agregarCuota(cuota);

                                            List<Cuota> cuotaAgregada = controlCuota.consultarCuota();
                                            if (cuotaAgregada.get(cuotaAgregada.size() - 1).getPagoIdpago().equals(pagoAgregado.get(pagoAgregado.size() - 1).getIdPago())) {
                                                if (cuotaAgregada.get(cuotaAgregada.size() - 1).getCuota().equals("2")) {
                                                    for (int m = 0; m < eventos.size(); m++) {
                                                        if (eventos.get(m).getIdEvento().equals(id)) {
                                                            for (int j = 0; j < cotizaciones.size(); j++) {
                                                                if (eventos.get(m).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                                                                    for (int z = 0; z < pagos.size(); z++) {
                                                                        if (cotizaciones.get(j).getEventoIdEvento().equals(pagos.get(z).getCotizacionEventoIdEvento())) {
                                                                            for (int u = 0; u < cuotas.size(); u++) {
                                                                                if (pagos.get(z).getIdPago().equals(cuotas.get(u).getPagoIdpago())) {
                                                                                    if (cuotas.get(u).getCuota().equals("1")) {
                                                                                        montoPrimeraCuota = pagos.get(z).getMonto();
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                    montoFactura = montoTotal + montoPrimeraCuota;
                                                    List<Factura> facturas = controlFactura.consultarFactura();
                                                    for (Iterator iter2 = facturas.iterator(); iter2.hasNext();) {
                                                        Factura fact = (Factura) iter2.next();
                                                        if (fact.getIdFactura().equals(pagoAgregado.get(pagoAgregado.size() - 1).getFacturaIdFactura())) {
                                                            fact.setMonto(montoFactura);
                                                        }
                                                        controlFactura.modificarFactura(fact);
                                                    }
                                                }//FIN SEGUNDO IF COMPARACION
                                            }//FIN PRIMER IF COMPARACION
                                        }

                                        if (result) {
                                            labelCancelado.setEnabled(true);
                                            JOptionPane.showMessageDialog(null, "El pago ha sido agregado con Exito", "Resultado", JOptionPane.INFORMATION_MESSAGE);
                                            nombreBanco.setText("");
                                            numeroTarjeta.setText("");
                                            codigoSeguridad.setText("");
                                            labelCancelado.setEnabled(false);
                                            if (cuotaFlag == 2) {
                                                generarFactura ce = new generarFactura(id);
                                                ce.setVisible(true);
                                                this.setVisible(false);
                                            }
                                            montoPago.setText("0.0");
                                            this.cargarIdEventosSinPagar();
                                            this.cargarCuota(eventos);
                                        } else {
                                            JOptionPane.showMessageDialog(null, "Error: El pago no pudo ser agregado", "Resultado", JOptionPane.ERROR_MESSAGE);
                                        }
                                    } else {
                                        String tipoTarjetaDebito = tipoTarjetaCombo.getSelectedItem().toString();
                                        if (tipoTarjetaDebito.equals("Débito")) {
                                            String tipoPago = tipoPagoCombo.getSelectedItem().toString();
                                            String nomBanco = nombreBanco.getText();
                                            double montoTotal = Double.parseDouble(montoPago.getText());
                                            String numTarjeta = numeroTarjeta.getText();
                                            String codSeguridad = codigoSeguridad.getText();
                                            String tipoCtaDebito = tipoCtaCombo.getSelectedItem().toString();
                                            Integer cotizaIdCotiza = eventosSinCuotas.get(w).getIdEvento();
                                            Integer cotizaEventoIdEvento = eventosSinCuotas.get(w).getIdEvento();
                                            String bancoCheque = "";
                                            String numCheque = "";

                                            Integer cuotaFlag = 0;
                                            if (numeroCuota.getSelectedItem().toString().equals("1")) {
                                                cuotaFlag = 1;
                                                Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, nomBanco, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, null, null);
                                                result = controlPago.agregarPago(pago);

                                                List<Pago> pagoAgregado = controlPago.consultarPago();
                                                Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                                numCuota = numeroCuota.getSelectedItem().toString();
                                                Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                                controlCuota.agregarCuota(cuota);
                                            }

                                            if (numeroCuota.getSelectedItem().toString().equals("2")) {
                                                cuotaFlag = 2;
                                                Double montoTmp = 0.0;
                                                Factura fac = new Factura(eventosSinCuotas.get(w).getDescripcion(), montoTmp, eventosSinCuotas.get(w).getFecha());
                                                controlFactura.agregarFactura(fac);

                                                List<Factura> Ultimafactura = controlFactura.consultarFactura();
                                                Integer ultimaFactura = Ultimafactura.get(Ultimafactura.size() - 1).getIdFactura();

                                                montoTotal = aumentoMontoSegundaCuotaEventosSinCuotas(id, montoTotal);

                                                Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, nomBanco, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, ultimaFactura, null);
                                                result = controlPago.agregarPago(pago);

                                                List<Pago> pagoAgregado = controlPago.consultarPago();
                                                Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                                numCuota = numeroCuota.getSelectedItem().toString();
                                                Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                                controlCuota.agregarCuota(cuota);

                                                List<Cuota> cuotaAgregada = controlCuota.consultarCuota();
                                                if (cuotaAgregada.get(cuotaAgregada.size() - 1).getPagoIdpago().equals(pagoAgregado.get(pagoAgregado.size() - 1).getIdPago())) {
                                                    if (cuotaAgregada.get(cuotaAgregada.size() - 1).getCuota().equals("2")) {
                                                        for (int m = 0; m < eventos.size(); m++) {
                                                            if (eventos.get(m).getIdEvento().equals(id)) {
                                                                for (int j = 0; j < cotizaciones.size(); j++) {
                                                                    if (eventos.get(m).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                                                                        for (int z = 0; z < pagos.size(); z++) {
                                                                            if (cotizaciones.get(j).getEventoIdEvento().equals(pagos.get(z).getCotizacionEventoIdEvento())) {
                                                                                for (int u = 0; u < cuotas.size(); u++) {
                                                                                    if (pagos.get(z).getIdPago().equals(cuotas.get(u).getPagoIdpago())) {
                                                                                        if (cuotas.get(u).getCuota().equals("1")) {
                                                                                            montoPrimeraCuota = pagos.get(z).getMonto();
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                        montoFactura = montoTotal + montoPrimeraCuota;
                                                        List<Factura> facturas = controlFactura.consultarFactura();
                                                        for (Iterator iter2 = facturas.iterator(); iter2.hasNext();) {
                                                            Factura fact = (Factura) iter2.next();
                                                            if (fact.getIdFactura().equals(pagoAgregado.get(pagoAgregado.size() - 1).getFacturaIdFactura())) {
                                                                fact.setMonto(montoFactura);
                                                            }
                                                            controlFactura.modificarFactura(fact);
                                                        }
                                                    }//FIN SEGUNDO IF COMPARACION
                                                }//FIN PRIMER IF COMPARACION
                                            }
                                            if (result) {
                                                labelCancelado.setEnabled(true);
                                                JOptionPane.showMessageDialog(null, "El pago ha sido agregado con Exito", "Resultado", JOptionPane.INFORMATION_MESSAGE);
                                                nombreBanco.setText("");
                                                numeroTarjeta.setText("");
                                                codigoSeguridad.setText("");
                                                labelCancelado.setEnabled(false);
                                                if (cuotaFlag == 2) {
                                                    generarFactura ce = new generarFactura(id);
                                                    ce.setVisible(true);
                                                    this.setVisible(false);
                                                }
                                                montoPago.setText("0.0");
                                                this.cargarIdEventosSinPagar();
                                                this.cargarCuota(eventos);
                                            } else {
                                                JOptionPane.showMessageDialog(null, "Error: El pago no pudo ser agregado", "Resultado", JOptionPane.ERROR_MESSAGE);
                                            }
                                        }//FIN DEL IF DE LA CONDICION DE DEBITO
                                    }
                                }//FINAL DEL ELSE DE SI LLENO LOS DATOS DE LA TARJETA

                            } else {//FINAL TARJETA
                                if (tipoPagoCombo.getSelectedItem().toString().equals("Efectivo")) {
                                    String numCheque = "";
                                    String bancoCheque = "";
                                    String tipoPago = tipoPagoCombo.getSelectedItem().toString();
                                    double montoTotal = Double.parseDouble(montoPago.getText());
                                    String tipoTarjeta = "";
                                    String numTarjeta = "";
                                    String codSeguridad = "";
                                    String bankTarjeta = "";
                                    String tipoCtaDebito = "";
                                    Integer cotizaIdCotiza = eventosSinCuotas.get(w).getIdEvento();
                                    Integer cotizaEventoIdEvento = eventosSinCuotas.get(w).getIdEvento();

                                    Integer cuotaFlag = 0;
                                    if (numeroCuota.getSelectedItem().toString().equals("1")) {
                                        cuotaFlag = 1;
                                        Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, bankTarjeta, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, null, null);
                                        result = controlPago.agregarPago(pago);

                                        List<Pago> pagoAgregado = controlPago.consultarPago();
                                        Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                        numCuota = numeroCuota.getSelectedItem().toString();
                                        Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                        controlCuota.agregarCuota(cuota);
                                    }

                                    if (numeroCuota.getSelectedItem().toString().equals("2")) {
                                        cuotaFlag = 2;
                                        Double montoTmp = 0.0;
                                        Factura fac = new Factura(eventosSinCuotas.get(w).getDescripcion(), montoTmp, eventosSinCuotas.get(w).getFecha());
                                        controlFactura.agregarFactura(fac);

                                        List<Factura> Ultimafactura = controlFactura.consultarFactura();
                                        Integer ultimaFactura = Ultimafactura.get(Ultimafactura.size() - 1).getIdFactura();

                                        montoTotal = aumentoMontoSegundaCuotaEventosSinCuotas(id, montoTotal);

                                        Pago pago = new Pago(montoTotal, tipoPago, tipoTarjeta, numCheque, bancoCheque, numTarjeta, codSeguridad, bankTarjeta, tipoCtaDebito, cotizaIdCotiza, cotizaEventoIdEvento, ultimaFactura, null);
                                        result = controlPago.agregarPago(pago);

                                        List<Pago> pagoAgregado = controlPago.consultarPago();
                                        Integer ultimoIdPago = pagoAgregado.get(pagoAgregado.size() - 1).getIdPago();
                                        numCuota = numeroCuota.getSelectedItem().toString();
                                        Cuota cuota = new Cuota(numCuota, ultimoIdPago);
                                        controlCuota.agregarCuota(cuota);

                                        List<Cuota> cuotaAgregada = controlCuota.consultarCuota();
                                        if (cuotaAgregada.get(cuotaAgregada.size() - 1).getPagoIdpago().equals(pagoAgregado.get(pagoAgregado.size() - 1).getIdPago())) {
                                            if (cuotaAgregada.get(cuotaAgregada.size() - 1).getCuota().equals("2")) {
                                                for (int m = 0; m < eventos.size(); m++) {
                                                    if (eventos.get(m).getIdEvento().equals(id)) {
                                                        for (int j = 0; j < cotizaciones.size(); j++) {
                                                            if (eventos.get(m).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                                                                for (int z = 0; z < pagos.size(); z++) {
                                                                    if (cotizaciones.get(j).getEventoIdEvento().equals(pagos.get(z).getCotizacionEventoIdEvento())) {
                                                                        for (int u = 0; u < cuotas.size(); u++) {
                                                                            if (pagos.get(z).getIdPago().equals(cuotas.get(u).getPagoIdpago())) {
                                                                                if (cuotas.get(u).getCuota().equals("1")) {
                                                                                    montoPrimeraCuota = pagos.get(z).getMonto();
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                                montoFactura = montoTotal + montoPrimeraCuota;
                                                List<Factura> facturas = controlFactura.consultarFactura();
                                                for (Iterator iter2 = facturas.iterator(); iter2.hasNext();) {
                                                    Factura fact = (Factura) iter2.next();
                                                    if (fact.getIdFactura().equals(pagoAgregado.get(pagoAgregado.size() - 1).getFacturaIdFactura())) {
                                                        fact.setMonto(montoFactura);
                                                    }
                                                    controlFactura.modificarFactura(fact);
                                                }
                                            }//FIN SEGUNDO IF COMPARACION
                                        }//FIN PRIMER IF COMPARACION
                                    }
                                    if (result) {
                                        labelCancelado.setEnabled(true);
                                        JOptionPane.showMessageDialog(null, "El pago ha sido agregado con Exito", "Resultado", JOptionPane.INFORMATION_MESSAGE);
                                        labelCancelado.setEnabled(false);
                                        if (cuotaFlag == 2) {
                                            generarFactura ce = new generarFactura(id);
                                            ce.setVisible(true);
                                            this.setVisible(false);
                                        }
                                        montoPago.setText("0.0");
                                        this.cargarIdEventosSinPagar();
                                        this.cargarCuota(eventos);
                                    } else {
                                        JOptionPane.showMessageDialog(null, "Error: El pago no pudo ser agregado", "Resultado", JOptionPane.ERROR_MESSAGE);
                                    }
                                }
                            }//FIN ELSE EFECTIVO
                        }
                    }
                }//FOR EVENTOS SIN CUOTAS
            }
        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
}//GEN-LAST:event_insertarPagoActionPerformed

    private void nuevaCotizacionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nuevaCotizacionActionPerformed
        NuevaCotizacion cot;
        try {
            cot = new NuevaCotizacion();
            cot.setVisible(true);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
    }//GEN-LAST:event_nuevaCotizacionActionPerformed

    private void informacionSistemaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_informacionSistemaActionPerformed
        InformacionSistema2 info = new InformacionSistema2();
        info.setVisible(true);
}//GEN-LAST:event_informacionSistemaActionPerformed

    private void exitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitActionPerformed
        int resultado = JOptionPane.showConfirmDialog(null, "Esta seguro que desea realizar esta operacion?", "ATENCION", JOptionPane.OK_CANCEL_OPTION);
        if (resultado == 0) {
            System.exit(0);
        }
}//GEN-LAST:event_exitActionPerformed

    private void acercaDeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_acercaDeActionPerformed
        About ab = new About();
        ab.setVisible(true);
}//GEN-LAST:event_acercaDeActionPerformed

    private void cargarCuota(List<Evento> eventos) {
        Integer id = 0;
        try {
            controlCuota = new ControlCuota();
            List<Cuota> cuotas = controlCuota.consultarCuotaSinSegunda();

            controlPago = new ControlPago();
            List<Pago> pagos = controlPago.consultarPagoSinPagar();

            controlCotizacion = new ControlCotizacion();
            List<Cotizacion> cotizacionesSinCuotas = controlCotizacion.consultarCotizacionesSinCuotas();

            controlEvento = new ControlEvento();
            List<Evento> eventosSinCuotas = controlEvento.consultarEventosSinCuotas();

            if (idEventosSinPagar.getItemCount() != 0) {
                String idTmp[] = idEventosSinPagar.getSelectedItem().toString().split(", ");
                id = Integer.parseInt(idTmp[0]);

                for (int i = 0; i < eventos.size(); i++) {
                    if (eventos.get(i).getIdEvento().equals(id)) {
                        for (int z = 0; z < pagos.size(); z++) {
                            for (int u = 0; u < cuotas.size(); u++) {
                                if (pagos.get(z).getIdPago().equals(cuotas.get(u).getPagoIdpago())) {
                                    if (cuotas.get(u).getCuota().equals("1")) {
                                        numeroCuota.removeAllItems();
                                        numeroCuota.addItem("2");
                                    }
                                }//IF pagos
                            }//FOR cuotas
                        }//FOR pagos
                    }// FOR eventos
                }
                for (int w = 0; w < eventosSinCuotas.size(); w++) {
                    if (eventosSinCuotas.get(w).getIdEvento().equals(id)) {
                        for (int m = 0; m < cotizacionesSinCuotas.size(); m++) {
                            if (cotizacionesSinCuotas.get(m).getEventoIdEvento().equals(eventosSinCuotas.get(w).getIdEvento())) {
                                numeroCuota.removeAllItems();
                                numeroCuota.addItem("1");
                            }
                        }//FOR cotizacionesSinCuotas
                    }//IF comparacion eventos
                }//FOR eventosSinCuotas
            }//idEventosSinPagar
        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private double aumentoMontoSegundaCuotaEventosSinCuotas(Integer id, double montoTotal) {
        try {
            controlEvento = new ControlEvento();
            List<Evento> eventosSinCuotas = controlEvento.consultarEventosSinCuotas();
            controlCotizacion = new ControlCotizacion();
            List<Cotizacion> cotizaciones = controlCotizacion.consultarCotizaciones();
            for (int j = 0; j < eventosSinCuotas.size(); j++) {
                if (eventosSinCuotas.get(j).getIdEvento().equals(id)) {
                    for (int k = 0; k < cotizaciones.size(); k++) {
                        if (eventosSinCuotas.get(j).getIdEvento().equals(cotizaciones.get(k).getEventoIdEvento())) {
                            java.sql.Date FechaEvento = new java.sql.Date(eventosSinCuotas.get(j).getFecha().getTime());
                            java.sql.Date FechaCotizacion = new java.sql.Date(cotizaciones.get(k).getFecha().getTime());
                            long diff = FechaEvento.getTime() - FechaCotizacion.getTime();
                            long dias = 0;
                            if (FechaEvento.equals(FechaCotizacion)) {
                                dias = 0;
                            } else {
                                dias = (diff / (1000 * 60 * 60 * 24)) + 1;
                            }
                            if (dias >= 30) {
                                double porcentaje = montoTotal * 0.01;
                                double montoRedondear = montoTotal + porcentaje;
                                montoTotal = this.redondear(montoRedondear, 2);
                            }
                        }
                    }
                }
            }

        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
        return montoTotal;
    }

    private double redondear(double numero, int decimales) {
        return Math.round(numero * Math.pow(10, decimales)) / Math.pow(10, decimales);
    }

    private double aumentoMontoSegundaCuotaEventosSinPagar(Integer id, double montoTotal) {
        try {
            controlEvento = new ControlEvento();
            List<Evento> eventos = controlEvento.consultarEventosSinPagar();
            controlCotizacion = new ControlCotizacion();
            List<Cotizacion> cotizaciones = controlCotizacion.consultarCotizaciones();
            for (int j = 0; j < eventos.size(); j++) {
                if (eventos.get(j).getIdEvento().equals(id)) {
                    for (int k = 0; k < cotizaciones.size(); k++) {
                        if (eventos.get(j).getIdEvento().equals(cotizaciones.get(k).getEventoIdEvento())) {
                            java.sql.Date FechaEvento = new java.sql.Date(eventos.get(j).getFecha().getTime());
                            java.sql.Date FechaCotizacion = new java.sql.Date(cotizaciones.get(k).getFecha().getTime());
                            long diff = FechaEvento.getTime() - FechaCotizacion.getTime();
                            long dias = 0;
                            if (FechaEvento.equals(FechaCotizacion)) {
                                dias = 0;
                            } else {
                                dias = (diff / (1000 * 60 * 60 * 24)) + 1;
                            }
                            if (dias >= 30) {
                                double porcentaje = montoTotal * 0.01;
                                double montoRedondear = montoTotal + porcentaje;
                                montoTotal = this.redondear(montoRedondear, 2);
                            }
                        }
                    }
                }
            }

        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
        return montoTotal;
    }

    private void asignarLabelEventosSinPagar(List<Evento> eventos) {
        try {
            Integer id = 0;
            controlEvento = new ControlEvento();
            controlCotizacion = new ControlCotizacion();
            controlClienteParticular = new ControlClienteParticular();
            controlClienteCompania = new ControlClienteCompania();
            controlEmpleado = new ControlEmpleado();

            List<Evento> eventosSinCuotas = controlEvento.consultarEventosSinCuotas();

            if (idEventosSinPagar.getItemCount() != 0) {
                String idTmp[] = idEventosSinPagar.getSelectedItem().toString().split(", ");
                id = Integer.parseInt(idTmp[0]);

                for (int i = 0; i < eventos.size(); i++) {
                    if (eventos.get(i).getIdEvento().equals(id)) {
                        this.labelEventosSinPagar(eventos, id);
                    }
                }
                for (int j = 0; j < eventosSinCuotas.size(); j++) {
                    if (eventosSinCuotas.get(j).getIdEvento().equals(id)) {
                        this.labelEventosSinCuotas(eventosSinCuotas, id);
                    }

                }
            }
        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private void labelEventosSinPagar(List<Evento> eventos, Integer id) {
        try {
            controlEvento = new ControlEvento();
            controlCotizacion = new ControlCotizacion();
            controlClienteParticular = new ControlClienteParticular();
            controlClienteCompania = new ControlClienteCompania();
            controlEmpleado = new ControlEmpleado();
            List<Empleado> ejecutivos = controlEmpleado.consultarEjecutivos();
            List<Cotizacion> cotizaciones = controlCotizacion.consultarCotizacionesSinPagar();
            List<ClienteParticular> particular = controlClienteParticular.consultarClienteParticularSinPagar();
            List<ClienteCompania> companias = controlClienteCompania.consultarClienteCompaniaSinPagar();

            for (int i = 0; i < eventos.size(); i++) {
                if (eventos.get(i).getIdEvento().equals(id)) {

                    for (int j = 0; j < cotizaciones.size(); j++) {
                        if (eventos.get(i).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                            fechaEven.setText(eventos.get(i).getFecha().toString());
                            horaInicioLabel.setText(eventos.get(i).getHoraInicio().toString());
                            horaFinLabel.setText(eventos.get(i).getHoraFin().toString());
                            double monto = cotizaciones.get(j).getMontoTotal() / 2;
                            double montoNuevo = montoPagoEventoSinPagar(id, monto);
                            montoPago.setText(Double.toString(montoNuevo));
                            if (cotizaciones.get(j).getClienteCompaniaRif().equals("")) {
                                rifPagoLabel.setText("--");
                            } else {
                                rifPagoLabel.setText(cotizaciones.get(j).getClienteCompaniaRif());
                                for (int z = 0; z < companias.size(); z++) {
                                    if (cotizaciones.get(j).getClienteCompaniaRif().equals(companias.get(z).getRif())) {
                                        nombrePagoLabel.setText(companias.get(z).getNombre());
                                    }
                                }
                            }
                            if (cotizaciones.get(j).getClienteParticularCedula().equals(0)) {
                                cedulaPagoLabel.setText("--");
                            } else {
                                cedulaPagoLabel.setText(cotizaciones.get(j).getClienteParticularCedula().toString());
                                for (int z = 0; z < particular.size(); z++) {
                                    if (cotizaciones.get(j).getClienteParticularCedula().equals(particular.get(z).getCedula())) {
                                        nombrePagoLabel.setText(particular.get(z).getNombre() + " " + particular.get(z).getApellido());
                                    }
                                }
                            }
                        }
                    }
                    for (int j = 0; j < ejecutivos.size(); j++) {
                        if (eventos.get(i).getEjecutivoCedula().equals(ejecutivos.get(j).getCedula())) {
                            ejecutivoEncargadoPago.setText(ejecutivos.get(j).getNombre() + " " + ejecutivos.get(j).getApellido());
                        }
                    }
                }
            }
        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private double montoPagoEventoSinPagar(Integer id, double montoPago) {
        try {
            controlEvento = new ControlEvento();
            List<Evento> eventosSinPagar = controlEvento.consultarEventosSinPagar();
            controlCotizacion = new ControlCotizacion();
            List<Cotizacion> cotizaciones = controlCotizacion.consultarCotizacionesSinPagar();

            for (int i = 0; i < eventosSinPagar.size(); i++) {
                if (eventosSinPagar.get(i).getIdEvento().equals(id)) {
                    for (int j = 0; j < cotizaciones.size(); j++) {
                        if (eventosSinPagar.get(i).getIdEvento().equals(cotizaciones.get(j).getEventoIdEvento())) {
                            java.sql.Date FechaEvento = new java.sql.Date(eventosSinPagar.get(i).getFecha().getTime());
                            java.sql.Date FechaCotizacion = new java.sql.Date(cotizaciones.get(j).getFecha().getTime());
                            long diff = FechaEvento.getTime() - FechaCotizacion.getTime();
                            long dias = 0;
                            if (FechaEvento.equals(FechaCotizacion)) {
                                dias = 0;
                            } else {
                                dias = (diff / (1000 * 60 * 60 * 24)) + 1;
                            }
                            if (dias >= 30) {
                                double porcentaje = montoPago * 0.01;
                                double montoRedondear = montoPago + porcentaje;
                                montoPago = this.redondear(montoRedondear, 2);
                                panelNotificacion.setVisible(true);
                            }
                        }
                    }
                }
            }
        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
        return montoPago;
    }

    private void labelEventosSinCuotas(List<Evento> eventosSinCuotas, Integer id) {
        try {
            controlEvento = new ControlEvento();
            controlCotizacion = new ControlCotizacion();
            controlClienteParticular = new ControlClienteParticular();
            controlClienteCompania = new ControlClienteCompania();
            controlEmpleado = new ControlEmpleado();
            List<Empleado> ejecutivos = controlEmpleado.consultarEjecutivos();
            List<Cotizacion> cotizacionesSinCuotas = controlCotizacion.consultarCotizacionesSinCuotas();
            List<ClienteParticular> particularSinCuotas = controlClienteParticular.consultarClienteParticularSinCuotas();
            List<ClienteCompania> companiasSinCuotas = controlClienteCompania.consultarClienteCompaniaSinCuotas();

            for (int k = 0; k < eventosSinCuotas.size(); k++) {
                if (eventosSinCuotas.get(k).getIdEvento().equals(id)) {
                    for (int j = 0; j < cotizacionesSinCuotas.size(); j++) {
                        if (eventosSinCuotas.get(k).getIdEvento().equals(cotizacionesSinCuotas.get(j).getEventoIdEvento())) {

                            fechaEven.setText(eventosSinCuotas.get(k).getFecha().toString());
                            horaInicioLabel.setText(eventosSinCuotas.get(k).getHoraInicio().toString());
                            horaFinLabel.setText(eventosSinCuotas.get(k).getHoraFin().toString());
                            montoPago.setText(Double.toString(cotizacionesSinCuotas.get(j).getMontoTotal() / 2));
                            if (cotizacionesSinCuotas.get(j).getClienteCompaniaRif().equals("")) {
                                rifPagoLabel.setText("--");
                            } else {
                                rifPagoLabel.setText(cotizacionesSinCuotas.get(j).getClienteCompaniaRif());
                                for (int z = 0; z < companiasSinCuotas.size(); z++) {
                                    if (cotizacionesSinCuotas.get(j).getClienteCompaniaRif().equals(companiasSinCuotas.get(z).getRif())) {
                                        nombrePagoLabel.setText(companiasSinCuotas.get(z).getNombre());

                                    }
                                }
                            }
                            if (cotizacionesSinCuotas.get(j).getClienteParticularCedula().equals(0)) {
                                cedulaPagoLabel.setText("--");
                            } else {
                                cedulaPagoLabel.setText(cotizacionesSinCuotas.get(j).getClienteParticularCedula().toString());
                                for (int z = 0; z < particularSinCuotas.size(); z++) {
                                    if (cotizacionesSinCuotas.get(j).getClienteParticularCedula().equals(particularSinCuotas.get(z).getCedula())) {
                                        nombrePagoLabel.setText(particularSinCuotas.get(z).getNombre() + " " + particularSinCuotas.get(z).getApellido());
                                    }
                                }
                            }
                        }
                    }
                    for (int j = 0; j < ejecutivos.size(); j++) {
                        if (eventosSinCuotas.get(k).getEjecutivoCedula().equals(ejecutivos.get(j).getCedula())) {
                            ejecutivoEncargadoPago.setText(ejecutivos.get(j).getNombre() + " " + ejecutivos.get(j).getApellido());
                        }
                    }
                }
            }
        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private void validarCampos() {
        CampoNumerico cn = new CampoNumerico();
        cn.validarCampo(numeroTarjeta);
        cn.validarCampo(codigoSeguridad);
        cn.validarCampo(numeroCheque);
    }

    private void cargarIdEventosSinPagar() {

        idEventosSinPagar.setVisible(false);
        if (idEventosSinPagar.isPopupVisible() != true) {
            idEventosSinPagar.removeAllItems();
        }
        try {
            controlEvento = new ControlEvento();
            List<Evento> eventos = controlEvento.consultarEventosSinPagar();
            List<Evento> eventosSinCuotas = controlEvento.consultarEventosSinCuotas();
            for (int i = 0; i < eventos.size(); i++) {
                Integer id = eventos.get(i).getIdEvento();
                String descripcion = eventos.get(i).getDescripcion();
                idEventosSinPagar.addItem(id + ", " + descripcion);
            }
            for (int i = 0; i < eventosSinCuotas.size(); i++) {
                Integer id = eventosSinCuotas.get(i).getIdEvento();
                String descripcion = eventosSinCuotas.get(i).getDescripcion();
                idEventosSinPagar.addItem(id + ", " + descripcion);
            }
        } catch (IOException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(InformacionSistema2.class.getName()).log(Level.SEVERE, null, ex);
        }
        idEventosSinPagar.setVisible(true);
        if (idEventosSinPagar.getItemCount() == 0) {
            idEventosSinPagar.setVisible(true);
            JOptionPane.showMessageDialog(aviso, "No existen registros de eventos sin pagar", "Warning", 1);
        }
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new cancelacionEvento().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JMenuItem acercaDe;
    private javax.swing.JMenu archivo;
    private javax.swing.JLabel cedulaPago;
    private javax.swing.JLabel cedulaPagoLabel;
    private javax.swing.JTextField codigoSeguridad;
    private javax.swing.JLabel ejecutivoEncargadoPago;
    private javax.swing.JMenuItem exit;
    private javax.swing.JLabel fechaEven;
    private javax.swing.JLabel horaFinLabel;
    private javax.swing.JLabel horaInicioLabel;
    private javax.swing.JComboBox idEventosSinPagar;
    private javax.swing.JMenuItem informacionSistema;
    private javax.swing.JButton insertarPago;
    private javax.swing.JLabel jLabel113;
    private javax.swing.JLabel jLabel114;
    private javax.swing.JLabel jLabel118;
    private javax.swing.JLabel jLabel120;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel19;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel24;
    private javax.swing.JLabel jLabel25;
    private javax.swing.JLabel jLabel26;
    private javax.swing.JLabel jLabel27;
    private javax.swing.JLabel jLabel28;
    private javax.swing.JLabel jLabel35;
    private javax.swing.JLabel jLabel38;
    private javax.swing.JLabel jLabel41;
    private javax.swing.JLabel jLabel42;
    private javax.swing.JLabel jLabel43;
    private javax.swing.JLabel jLabel46;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JPanel jPanel11;
    private javax.swing.JPanel jPanel12;
    private javax.swing.JPanel jPanel13;
    private javax.swing.JPanel jPanel14;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel37;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JLabel labelCancelado;
    private javax.swing.JButton limpiar10;
    private javax.swing.JButton limpiar7;
    private javax.swing.JLabel montoPago;
    private javax.swing.JButton mostrarPagoEventos;
    private javax.swing.JTextField nombreBanco;
    private javax.swing.JTextField nombreBancoCheque;
    private javax.swing.JLabel nombrePago;
    private javax.swing.JLabel nombrePagoLabel;
    private javax.swing.JMenuItem nuevaCotizacion;
    private javax.swing.JTextField numeroCheque;
    private javax.swing.JComboBox numeroCuota;
    private javax.swing.JTextField numeroTarjeta;
    private javax.swing.JPanel panelNotificacion;
    private javax.swing.JLabel rifPago;
    private javax.swing.JLabel rifPagoLabel;
    private javax.swing.JComboBox tipoCtaCombo;
    private javax.swing.JComboBox tipoPagoCombo;
    private javax.swing.JComboBox tipoTarjetaCombo;
    // End of variables declaration//GEN-END:variables
}
